task.pull.workers(FUN = function(jid, ...){ return(jid) }, ...,
rank.master = .SPMD.CT$rank.root, comm = .SPMD.CT$comm)
task.pull.master(jids, rank.master = .SPMD.CT$rank.root,
comm = .SPMD.CT$comm)
Arguments
jids
all job ids.
FUN
a function to be evaluated in workers.
...
extra variables for FUN.
rank.master
a rank of master where jid sent from.
comm
a communicator number.
bcast
if bcast to all ranks.
Value
A list with length comm.size() - 1
will be returned for mater, but NULL for workers.
Each element of the list contains job id jid and
returns ret of the FUN call.
Details
All of these functions are for SPMD, NOT for master/workers.
FUN is a user defined function which has jid as
the first argument and other variables are given in ....
The jids will be asked by workers when jobs are available and
workers are no job in hand.
References
Programming with Big Data in R Website:
http://r-pbd.org/
### Under command mode, run the demo with 4 processors by### (Use Rscript.exe for windows system)mpiexec -np 4 Rscript -e "demo(task_pull,'pbdMPI',ask=F,echo=F)"